using Godot;
using System;

public partial class 日志场景 : PanelContainer
{
    [Export] private RichTextLabel 富文本标签;

    public override void _EnterTree()
    {
        游戏管理.置组件实例("日志场景", this);
    }

    public override void _Ready()
    {
        富文本标签.AddText("叮！恭喜您，打卡成功！");
        富文本标签.Newline();

        富文本标签.AddText("勤劳的牛马 ");

        富文本标签.PushColor(new Color("green"));
        富文本标签.AddText(游戏存档.玩家.基础属性.名称);
        富文本标签.Pop();

        富文本标签.AddText(" 祝您上班愉快~");

        富文本标签.Newline();
    }

    public void 置普通文本(string 文本)
    {
        富文本标签.AddText(文本);
        富文本标签.Newline();
    }

    public void 置成功文本(string 文本)
    {
        富文本标签.PushColor(new Color("green"));
        富文本标签.AddText(文本);
        富文本标签.Pop();
        富文本标签.Newline();
    }

    public void 置失败文本(string 文本)
    {
        富文本标签.PushColor(new Color("red"));
        富文本标签.AddText(文本);
        富文本标签.Pop();
        富文本标签.Newline();
    }

    public void 置提醒文本(string 文本)
    {
        富文本标签.PushColor(new Color("#E6A23C"));
        富文本标签.AddText(文本);
        富文本标签.Pop();
        富文本标签.Newline();
    }

    public void 置战斗胜利文本(string 道具, string 经验)
    {
        富文本标签.PushColor(new Color("green"));
        富文本标签.AddText("恭喜您，战斗胜利！");
        富文本标签.Pop();

        富文本标签.Newline();

        富文本标签.PushColor(new Color("green"));
        富文本标签.AddText("获得道具: ");
        富文本标签.AddText(道具);
        富文本标签.Pop();

        富文本标签.Newline();

        富文本标签.PushColor(new Color("green"));
        富文本标签.AddText("获得经验: ");
        富文本标签.AddText(经验);
        富文本标签.Pop();

        富文本标签.Newline();
    }

    public void 置关键字文本(string 关键字, string 前置文本, string 后置文本, string 关键字颜色 = "#00BFFF", string 前置文本颜色 = "#FFFFFF", string 后置文本颜色 = "#FFFFFF")
    {
        富文本标签.PushColor(new Color(前置文本颜色));
        富文本标签.AddText(前置文本 + " ");
        富文本标签.Pop();

        富文本标签.PushColor(new Color(关键字颜色));
        富文本标签.AddText(关键字);
        富文本标签.Pop();

        富文本标签.PushColor(new Color(后置文本颜色));
        富文本标签.AddText(" " + 后置文本);
        富文本标签.Pop();

        富文本标签.Newline();
    }
}
